package cn.lycode.system.mapper;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户与角色关联表 数据层
 *
 * @author lyCode
 */
public interface SysUserRoleMapper {

    /**
     * 通过角色id获取到相关的用户id
     * @param roleId
     * @return 相关用户ID列表
     */
    List<Long> selectUserIdsByRoleId(Long roleId);

    /**
     * 通过角色ID查询角色使用数量
     *
     * @param roleId 角色ID
     * @return 结果
     */
    int countUserRoleByRoleId(Long roleId);

    //查用户拥有的角色ID
    List<Long> selectUserRoleIds(Long userId);

    void deleteUserAllRoles(Long userId);

    void deleteUserAllRolesByUserIds(List<Long> list);

    void batchAddUserRoles(@Param("userId") Long userId, @Param("roleIds") List<Long> roleIds);
}
